//
//  RefreshViewController.m
//  IOS table1 type
//
//  Created by Bc_Ltf on 15/4/8.
//  Copyright (c) 2015年 李腾飞. All rights reserved.
//

#import "RefreshViewController.h"
#include "MJRefresh.h"


@interface RefreshViewController ()<UITableViewDelegate>

@end

@implementation RefreshViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    self.automaticallyAdjustsScrollViewInsets=NO;
    [self example03];
    [self example11];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

#pragma mark UITableView + 下拉刷新 隐藏时间
- (void)example03
{
    // 添加传统的下拉刷新
    // 设置回调（一旦进入刷新状态，就调用target的action，也就是调用self的loadNewData方法）
    [self.tableViewOnView addLegendHeaderWithRefreshingTarget:self refreshingAction:@selector(loadNewData)];
    
    // 隐藏时间
    self.tableViewOnView.header.updatedTimeHidden = YES;
    
    // 马上进入刷新状态
    [self.tableViewOnView.header beginRefreshing];
    
    // 此时self.tableView.header == self.tableView.legendHeader
}

#pragma mark UITableView + 上拉刷新 加载后隐藏
#pragma mark UITableView + 上拉刷新 传统
- (void)example11
{
    __weak typeof(self) weakSelf = self;
    
    // 添加传统的上拉刷新
    // 设置回调（一旦进入刷新状态就会调用这个refreshingBlock）
    [self.tableViewOnView addLegendFooterWithRefreshingBlock:^{
        [weakSelf loadMoreData];
    }];
    
    /**
     也可以这样使用
     self.tableView.footer.refreshingBlock = ^{
     
     };
     
     此时self.tableView.footer == self.tableView.legendFooter
     */
}
#pragma mark - 数据处理相关
#pragma mark 下拉刷新数据
- (void)loadNewData
{
    
    // 2.模拟2秒后刷新表格UI（真实开发中，可以移除这段gcd代码）
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
        // 刷新表格
        [self.tableViewOnView reloadData];
        
        // 拿到当前的下拉刷新控件，结束刷新状态
        [self.tableViewOnView.header endRefreshing];
    });
}

#pragma mark 上拉加载更多数据
- (void)loadMoreData
{
    // 1.添加假数据
    for (int i = 0; i<5; i++) {
//        [self.data addObject:MJRandomData];
    }
    
    // 2.模拟2秒后刷新表格UI（真实开发中，可以移除这段gcd代码）
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
        // 刷新表格
        [self.tableViewOnView reloadData];
        
        // 拿到当前的下拉刷新控件，结束刷新状态
        [self.tableViewOnView.footer endRefreshing];
    });
    
}
#pragma mark - Table view data source
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    // Return the number of sections.
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    // Return the number of rows in the section.
    return 1;
}

// 他们都叫什么
-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    // 确定Cell标识
    static NSString *cellIdentifier=@"Cell";
    
    // 复用 Cell
    UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:cellIdentifier];
    if(cell==nil){
        //    UITableViewCell *cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleValue2 reuseIdentifier:cellIdentifier];
        //    UITableViewCell *cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellIdentifier];
        cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:cellIdentifier];
        
    }
    cell.textLabel.text=@"10";
    
    return cell;
}
#pragma mark 只加载一次数据


@end
